#pragma once

class SCRGame;

class SCRKeyboard
{
public:

	static const int SCR_KEYSTATE_BITS = 9;
	static const int SCR_KEYSTATE_SIZE = (1 << SCR_KEYSTATE_BITS); 
	static const int SCR_KEYSTATE_MASK = SCR_KEYSTATE_SIZE - 1;

	static bool IsPressed(const int& Key);
	static bool IsReleased(const int& Key);
	static bool IsClicked(const int& Key);

	friend class SCRGame;

private:

	static void InitializeState();
	static void UpdateState();

	static bool mCurrentStateA[SCR_KEYSTATE_SIZE];
	static bool mPreviousStateA[SCR_KEYSTATE_SIZE];
};
